﻿using BlogData.Models;

namespace BlogWeb.Extensions
{

    public class MarkDownImporter
    {
        public Dictionary<string, List<Post>> ImportFolder(string folderPath)
        {
            var articles = new Dictionary<string, List<Post>>();

            // 遍历文件夹中的所有文件  
            foreach (var filePath in Directory.GetFiles(folderPath, "*.md", SearchOption.AllDirectories))
            {
                // 获取文件的父目录作为分类  
                var category = Path.GetDirectoryName(filePath).Replace(folderPath, "").TrimStart('\\').Replace('\\', '/');

                // 获取文件的标题（文件名，不包含扩展名）  
                var title = Path.GetFileNameWithoutExtension(filePath);

                // 获取文件的创建和更新日期（这里只使用创建日期作为发表日期）  
                var fileInfo = new FileInfo(filePath);
                var publishedDate = fileInfo.CreationTime;

                // 读取Markdown文件内容  
                var content = File.ReadAllText(filePath);

                // 创建Markdown文章对象  
                var article = new Post
                {
                    PageTitle = title,
                    CreateTime = publishedDate,
                    PageContext = content
                };

                // 将文章添加到对应的分类中  
                if (!articles.ContainsKey(category))
                {
                    articles.Add(category, new List<Post>());
                }
                articles[category].Add(article);
            }

            return articles;
        }
    }
}
